/**
 * Created with JetBrains WebStorm.
 * User: six_nine
 * Date: 14-5-27
 * Time: 下午16:59
 * To change this template use File | Settings | File Templates.
 */
KISSY.add(function (S, DOM, Node, Event, Base, Overlay) {
    var _event=S.Event,
        $=S.all,
        _dom=S.DOM,
        _window = window,
        DOC = S.one(document);

    function TipMask() {

        var self = this;

        // 调用父类构造函数
        TipMask.superclass.constructor.apply(self, arguments);

        self._init();//立即执行初始化
    }
    S.extend(TipMask,Base, {
        _init: function () {

            var self = this;

            //创建tip层
            self._createTip();

            //添加关闭按钮事件
            self._closeTip();

            //绑定确定按钮
            self._returnTrue();

        },

        //创建tip弹出层
        _createTip: function () {

            var self = this;

            //创建弹出层
            self.J_tip_air = $('<div class="J_tip_air ks-overlay"></div>');
            //创建kissy主体层
            var ks_overlay_content = $('<div class="ks-overlay-content"></div>');
            //创建关闭按钮
            self.J_tip_close = $('<span class="J_tip_close">close</span>');
            //创建title
            var J_tip_title = $('<h2 class="J_tip_title"></h2>');
            //创建主体内容
            var J_tip_content = $('<div class="J_tip_content"></div>');
            //创建按钮组
            var J_tip_btns = $('<div class="J_tip_btns"></div>');
            //创建确定按钮
            self.J_tip_rt_true = $('<a href="javascript:;" class="J_tip_rt_true btn btn-large">确定</a>');

            //确定按钮组的组装
            J_tip_btns.append(self.J_tip_rt_true);
            //给弹出层加入关闭按钮
            ks_overlay_content.append(self.J_tip_close);
            //给弹出层添加标题
            ks_overlay_content.append(J_tip_title.append(self.get('title')));
            //添加提示信息
            ks_overlay_content.append(J_tip_content.append(self.get('text')));
            //添加按钮组
            ks_overlay_content.append(J_tip_btns);

            self.J_tip_air.append(ks_overlay_content);

            //塞入body
            $('body').append(self.J_tip_air);


            self.timeOut = 0.3;

            //弹出层组件调用
            self.dialog = new Overlay({
                srcNode: self.J_tip_air,
                align: {
                    points: ['cc', 'cc']
                },
                effect:{
                    effect: 'fade',
                    duration: self.timeOut
                },
                mask: true,
                closable: true
            });

            self._showTip();

        },

        //绑定close事件
        _closeTip: function () {

            var self = this;

            _event.on(self.J_tip_close, 'click', function () {

                self._hideTip();

            });

        },

        //确定按钮的绑定
        _returnTrue: function () {

            var self = this;

            _event.on(self.J_tip_rt_true, 'click', function () {

                self._hideTip();

            });

        },

        //tip层的显示
        _showTip: function () {

            var self = this;

            self.dialog.show();

        },

        //tip层的隐藏
        _hideTip: function () {

            var self = this;

            self.dialog.hide();

            var timer = setTimeout(function () {

                self.J_tip_air.remove();

                clearTimeout(timer);

            }, (self.timeOut * 1000 + 100));

        }

    },{
        ATTRS:{
            title: {
                value: null
            },
            text: {
                value: null
            }
        }
    });
    return TipMask;
}, {
    requires: ["dom", "node", "event", "base", "overlay"]
});
